#!/usr/bin/env node

const fs = require('fs')
const path = require('path')
const inquirer = require('inquirer')
const ejs = require('ejs')

inquirer.prompt([
  {
    type:"input",
    name:'name',
    message:"Project name ?"
  }
])
.then(answers =>{
  // 根据用户回答的结果生成文件

  // 模版目录
  const tmpDir = path.join(__dirname,'templates')
  // 输出目录
  const destDir = process.cwd()
  // 将模版下的文件全部转换到目标目录
  fs.readdir(tmpDir,(err, files)=>{
    if(err) throw err
    files.forEach(file=>{
      // 通过模版引擎渲染路径对应的文件
      // 两个参数  第一个是(模板目录, 当前路径) 第二个是 数据上下文  第三个 回调函数
      ejs.renderFile(path.join(tmpDir, file), answers,(err,result)=>{
        if(err) throw err;
        // 文件写入
        fs.writeFileSync(path.join(destDir, file),result)
      })
    })
  })
})